#pragma once

#include "dut/WinMin.h"
#include "dut/DXTrace.h"


namespace Dut
{
	struct Texture
	{
		ComPtr<ID3D11ShaderResourceView> m_ShaderResourceView;
		ComPtr<ID3D11Texture2D> m_Texture;
		D3D11_TEXTURE2D_DESC m_TexDesc;
		D3D11_SHADER_RESOURCE_VIEW_DESC m_SrvDesc;

		void PSSet(ID3D11DeviceContext* context, int startIndex, int numSlot = 1);
		void VSSet(ID3D11DeviceContext* context, int startIndex, int numSlot = 1);
		void CSSet(ID3D11DeviceContext* context, int startIndex, int numSlot = 1);
		void GSSet(ID3D11DeviceContext* context, int startIndex, int numSlot = 1);

		virtual ~Texture();
	};
};